package com.example.firealarm.model;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 消防报警事件实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FireAlarmEvent {

    /**
     * 事件ID
     */
    private String id;

    /**
     * 设备地址
     */
    private String deviceAddress;

    /**
     * 控制器类型
     */
    private byte controllerType;

    /**
     * 事件类型
     * 0-正常状态, 1-火警状态, 2-故障状态, 3-屏蔽状态, 4-监管状态, 5-测试状态
     */
    private byte eventType;

    /**
     * 部件类型
     */
    private byte componentType;

    /**
     * 部件地址
     */
    private String componentAddress;

    /**
     * 部件状态
     */
    private byte componentStatus;

    /**
     * 事件描述
     */
    private String description;

    /**
     * 事件发生时间
     */
    private LocalDateTime occurTime;

    /**
     * 事件接收时间
     */
    private LocalDateTime receiveTime;

    /**
     * 原始消息
     */
    private FireMessage originalMessage;
}